The invention relates to a method for controlling the run of technology specific Push Button Configuration sessions within a heterogeneous or homogeneous wireless network, a first network node device for controlling the run of technology specific Push Button Configuration sessions within a heterogeneous or homogeneous wireless network, a computer readable storage media executable by a processor for controlling the run of technology specific Push Button Configuration sessions within a heterogeneous or homogeneous wireless network and a heterogeneous or homogeneous wireless network for controlling the run of technology specific Push Button Configuration sessions.
The current data-centric use of networks (Internet access, media streaming) is increasingly extended towards home control functionality (home automation for climate control, lighting, burglar alarm, home energy network). Such home networks use according to FIG. 1 for instance various communication network technologies like Ethernet (IEEE 802.3), WLAN/WiFi (IEEE 802.11), and Power Line Communication (PLC; IEEE 1901). For this reason they are heterogeneous. The standard IEEE P1905.1, which according to D02 Draft Standard for Convergent Digital Home Network (CDHN) for Heterogeneous Technologies from Dec. 14, 2011, 1905_1-11-0067-00-WGDC-proposal-for-cdhn-standard.doc (“CDHN Draft”) is currently under development, defines a home network standard supporting different network technologies by a specified “IEEE P1905.1”-Abstraction Layer.
The design of the abstraction layer is based on the ISO/OSI-Reference Model with a management and data plane as shown in FIG. 2. The abstraction layer is embedded in an IEEE P1905.1-Architecture above a Media Access Control (MAC)-layer and a Physical layer as part of a “Network Node Device” NND within the heterogeneous network. Thus, the network node device NND uses the cited technologies like Ethernet (IEEE 802.3), WLAN/WiFi (IEEE 802.11), and Power Line Communication (PLC; IEEE 1901) and additionally a technology according to the specification of the Multimedia over Coax Alliance (MoCA) via corresponding interfaces according to FIG. 2. It is not compulsory or mandatory for a typical network node device to support all cited communication technologies. It is possible that the network node device NND supports only one or two of the cited technologies or completely other network technologies. Thus the network node device NND supports at least one network technology.
At least one goal of the IEEE P1905.1 standardization activities are security mechanisms. They are needed to protect the home network from external attacks. Such security mechanisms have to be configured with a security credential (password, passphrase, cryptographic key) that is burdensome to set-up manually.
The specific problem of using a Push-Button Configuration (PBC) in an “IEEE P1905.1”-network comes from the fact that multiple devices (belonging even to different technologies) are activated to accept a new device. So in the current version of the standard, more than one device could register with the “IEEE P1905.1”-network after a single button press. An attacker node may therefore register undetected when an authorized registration of a new device takes place. Further, even in a scenario where there is no attacker node, if multiple existing nodes of the home network (for e.g. access points) activate their technology specific PBC mode simultaneously it may lead to failure of the new node's attempts to join the network. This is specifically the case when the access points (or the nodes involved in registering the new node in the network via the technology specific PBC) are IEEE 802.11 (WLAN) access points supporting as a Push-Button Configuration in the WLAN environment a Wi-Fi Protected Setup (WPS). Taking this into account a technology specific Push-Button Configuration is a Push-Button Configuration, which is used specifically for each of the communication network technologies within the heterogeneous network. In other words the aforementioned PBC and WPS is each a technology specific Push-Button Configuration or belongs each to the technology specific Push-Button Configuration.
Currently in heterogeneous convergent digital home networks for ease of use a push button method is provided in order to allow the end-user to easily setup the security credentials and permit new network devices to join the convergent digital home network. An example for this is the mechanism provided in the IEEE P1905.1 draft standard under development. Here using the P1905.1 push button mechanism, technology specific push button configurations (PBC) are activated on authenticated devices in the home network. This enables the new device joining to carry out a technology specific PBC itself with a suitable device (based on range, connectivity, and media type) to get security credentials to join the home network.
One of the basic problems with this is, that multiple technology specific push button configurations (PBC) triggered by the same push button event may actually fail because they recognize each other as a conflicting PBC run. This is especially the case in Wi-Fi Protected Setup (WPS) with “Wi-Fi”-devices.
Wireless communication equipment as e.g., a WLAN device has to be configured before it can be used. In particular, a cryptographic key may be required to be configured. An important standard for user-friendly configuration of WLAN devices is Wi-Fi Protected Setup (WPS) that supports a push-button configuration PBC between two devices. However, the general applicability is limited. So there is a need for an improved wireless configuration setup method.
The mechanisms provided however are limited, for example, they do not work for the case of home networks where multiple registrars are present. WPS Specification 1.0
Furthermore in the IEEE P1905.1 solution the technology specific PBC is started only by the registrar, which implies that for the case where the new device is not within range of the registrar, but within the range of another “Wi-Fi”-access point the PBC attempt fails.
Additionally, the registrar is a logical entity and can be separated from the access points. In this case the registrar itself might not have the capability to start a “Wi-Fi” specific PBC at all. This will prevent any nodes from joining the network using the “Wi-Fi” technology specific PBC.
The closest technical solution is defined in Wi-Fi Protected Setup (WPS). Described is a monitoring for simultaneous push-button configurations (PBC). If a session overlap is detected, the push button configuration fails.
Section 9 of the CDHN Draft defines rudimentary signalling procedures for an automatic cross-technology security setup (multi-standard push button configuration). A node may send a PBC event to other nodes of the network to initiate a configuration session. The event includes an event ID. However, the event ID is used only by the nodes belonging already to the network. It is not indicated towards the new node. The new node can therefore not distinguish whether PBC messages received from different nodes belong to the same PBC session or to different sessions. The new node can therefore not reliably distinguish a session overlap between different networks from the situation where multiple nodes of a single network are active in a single PBC session.
Bluetooth defines Pairing procedures (legacy and secure simple pairing) to set-up a secret key between two Bluetooth devices (see: http://en.wikipedia.org/wiki/Bluetooth#Pairing.2FBonding). Pairing may be initiated/confirmed by the user. The user may be required to enter a PIN or to verify a parameter.
Wireless Intrusion Detection/prevention System (WIDS) monitor the radio communication and may signal an unexpected communication node (see e.g., http://en.wikipedia.org/wiki/Wireless_intrusion_prevention_system and http://www.symantec.com/connect/articles/wireless-intrusion-detection-systems).
Secure Broadcast/Multicast protocols are known (TESLA/uTESLA) where the key used to protect broadcast messages/multicast messages that is valid for sending messages during a certain time period is revealed to the receivers only after the time period has passed (see e.g., http://www.cs.virginia.edu/˜stankovic/psfiles/hhs06-security.pdf)
Virtual WLAN Access Points
It is known to realize so-called virtual WLAN access points: A single physical access point may operate as multiple access points with different configurations, i.e. different SSID's (network names), e.g. an open access point and an encrypted access point (see e.g. http://www.dd-wrt.com/wiki/index.php/Multiple_WLANs and http://www.zeroshell.net/eng/wireless-access-point/#wifi-manager). It is also known to realize on a client multiple WLAN network adapters using a single WLAN card (see e.g. http://research.microsoft.com/en-us/um/redmond/projects/virtualwifi/and http://blogs.technet.com/b/dmelanchthon/archive/2009/09/24/virtual-wifi-macht-windows-7-zum-access-point.aspx).
There exist different technologies for user-friendly security set-up. Detailed information is compiled in the sequel:
Wi-Fi Protected Setup (WPS)
Wi-Fi Protected Setup (WPS) defined by the Wi-Fi Alliance is the de-facto standard for WLAN security setup (see: http://en.wikipedia.org/wiki/Wi-Fi_Protected_Setup and: http://www.wi-fi.org/wifi-protected-setup). As part of the Push Button Configuration (PBC) protocol run, a check for an overlapping session is performed. If an overlapping PBC session is detected, the set-up procedure is aborted. The simultaneous announcement by a single device on two frequency bands is not considered as session overlap.
According to the WPS Specification 1.0 in Section 10.3, page 77 the following is known:                The button press or equivalent trigger event on the Enrollee causes it to actively search for a Registrar in PBC mode. However, the Enrollee MUST not proceed immediately with the Registration Protocol when it first discovers a Registrar. Instead, the Enrollee must complete a scan of all IEEE 802.11 channels that it supports to discover, if any other nearby Registrars are in a Push Button Configuration (PBC) mode. The Enrollee performs this scan by sending out probe requests with a Device Password ID indicating that the Enrollee is in PBC mode and receiving probe responses indicating a Selected Registrar with a PBC Device Password ID. During this scan, the Enrollee must abort its connection attempt and signal a “session overlap” error to the user if it discovers more than one Registrar in PBC mode. If a session overlap error occurs, the user should be advised through the Enrollee or the Registrar user interface (UI) or product literature to wait some period of time before trying again.        
Note: In the case of a dual-band access point (AP) and a dual-band station, the station may discover more than one registrar in the PBC mode. If the dual-band station does discover more than one registrar in the PBC mode, one each RF band, and the Universal Unique IDentifier (UUID) in the beacon and probe-response are the same for all RF bands, then the station shall not consider this to be a session overlap.
WPS push-button configuration involves the new device to be registered (called Enrollee), an access point (AP) being in direct communication with the Enrollee and a Registrar that actually performs the registration (i.e. it establishes a credential with the Enrollee), which is shown with a message chart (WPS PBC Message Exchange known from WPS Specification 1.0) in FIG. 3. The registration messages (M1 . . . M8) are embedded in EAP messages that are forwarded by the AP.
Before the actual registration starts, a monitoring is performed to detect an overlapping PBC session: After Button press B_E by the Enrollee, the Enrollee sends probe request messages indicating that it is in a PBC mode. The AP forwards the information to the registrar. After a button press B_R or an equivalent trigger event on the registrar, the registrar checks whether more than one Enrollee PBC probe request has been received by the Registrar within 120 seconds prior to the PBC button press on the Registrar (PBC Monitor Time). If more than one Enrollee PBC probe request has been received within the Monitor Time interval, the Registrar signals a session overlap error and refuses to enter PBC mode or perform a PBC-based Registration Protocol exchange. In general, the two buttons B_E and B_R may be pressed in any order as long as both are pressed within a 120 sec time interval.
Note: The message SetSelectedRegistrar notifies the AP that the registrar is currently in PBC mode. So this message causes the change in behaviour of the AP that it answers with a PBC probe response message (positive answer “PBC” instead of negative answer “!PBC”).
This technical solution has as main drawback that it is suitable only for a limited usage scenario: Only a single technology (WLAN) is supported.
The case of multiple access points (nodes) belonging to the same (home) network and each of them being potentially used for the PBC is not considered.
“Appendix A” in WPS Specification 1.0 in Section 13 describes a setup in which multiple registrars are supported, so that the user (Enrollee) has to select with which registrar it wants to register.
IEEE P1905.1
The current draft version of the standard IEEE P1905.1 includes the following description for the push button configuration in section 9.2.2(P1905.1 PBC (Push Button Configuration) Setup Method):
The IEEE P1905.1 PBC method works between two IEEE P1905.1 devices on the same IEEE P1905.1 Network, even when these two devices do not include an IEEE P1905.1 interface of the same underlying network technology if they are bridged by a device with the same underlying network technologies. FIG. 4 illustrates an example of the IEEE P1905.1 PBC method (IEEE P1905.1 Push-Button Event Notification and IEEE P1905.1 Push-Button Configuration).
In section 9.2.2.1 “P1905.1 Push Button Event Handling” of the current IEEE P1905.1 Draft Version “1905_1-11-0067-00-WGDC-proposal-for-cdhn-standard.doc” it is said:
The handling of IEEE P1905.1 Management messages in IEEE P1905.1 Devices is a common behaviour (powering up the interfaces and generating a sequential message ID across all message types from the device).
If the physical or logical PBC button is pushed on an IEEE P1905.1 Device and if an underlying network specific Push Button Configuration sequence is not currently being performed on any of the network interfaces of this IEEE P1905.1 Device, then a Push Button Event is triggered on an IEEE P1905.1 Device.
If a Push Button event is triggered on an IEEE P1905.1 Device, then the Application Layer Management Entity (ALME) shall:                Generate an eventID for this Push Button Event        Send a Push Button Event Notification IEEE P1905.1 Multicast message over its Authenticated IEEE P1905.1 Links using §7.2 Relay Multicast Transmission Procedures        Initiate the underlying network specific Push Button Configuration sequence on the IEEE P1905.1 interfaces supporting Push Button Configuration methods.        
FIG. 5 describes how an IEEE P1905.1 Device handles an IEEE P1905.1 Push Button Event Notification message (Push Button Event Notification Handling).
The handling of IEEE P1905.1 Management messages in an IEEE P1905.1 Device is a common behaviour (powering up the interfaces and generating a sequential message ID across all message types from the device).
If an ALME receives an IEEE P1905.1 Push Button Notification message, then an IEEE P1905.1 ALME shall:                1) If an underlying network specific Push Button Configuration sequence is currently being performed of any of the network interface of the device, then ignore the message.        2) If the message SourceAddress and eventID are a duplicated notification for this given P1905.1 Push Button event, then ignore the message.                    a) The aging of a SourceAddress and eventID pair is P1905.1_PBC_WALK_TIME.            b) P1905.1_PBC_WALK_TIME should be defined to be longer than the underlying network. No more than a single eventID need to be stored by the P1905.1 device since Push_Button_Event cannot be triggered or handled if an underlying network Push Button Configuration is in progress (cf. 3.2.3 & 3.2.5-1).                        3) If message is not ignored, repropagate the received IEEE P1905.1 Push_Button_Event Notification message using §7.3 Relay Multicast Reception Procedures.        4) Initiate the underlying network specific Push Button Configuration sequence on all IEEE P1905.1 interfaces supporting Push Button Configuration methods.        
The main limitation of Wi-Fi WPS standard is that only a single WPS session including one new node and one Access Point (AP) node is supported (i.e. not a setup scenario involving multiple access points (AP)). This limits the applicability, e.g. in WLAN mesh networks according to IEEE 802.11 or IEEE P1905.1 networks.
An exemplary signalling flow according to the state of the art is shown in FIG. 6. The two network node devices D1, D2 belong to the same heterogeneous or homogeneous wireless network, e.g., an IEEE P1905.1 network or a single WLAN mesh network according to IEEE 802.11. Although only two network node devices D1, D2 are shown in the FIG. 6 it should be clear that the network can include more than these two devices. This means that besides the first network node device D1 the network can have at least one second network node device D2.
A Push Button Configuration (initiation of an automatic security bootstrapping) is started, here by a first Push Button Event PBE-1 triggered on a first network node device D1. A second network node device D2 belonging to the same network is informed by the first network node device D1 by sending a push button notification message PBN to the second network node device D2. Of the network node devices D1, D2 each network node device start a Push Button Configuration session (PBC session), e.g. a Wi-Fi Protected Setup session (WPS). A new device (third network node device) ND that is to be registered with the network to which the network node devices D1 and D2 belong, starts also a Push Button Configuration by a second Push Button Event PBE-2. A monitoring is performed according to the standard to detect overlapping PBC sessions. As here both network node devices D1 and D2 indicate the status of their started PBC by sending a beacon referring to the network node device D1 respectively D2 and the started PBC, the new device ND detects two simultaneous Push Button Configuration sessions, i.e. a session overlap. Thus the new device ND aborts the PBC session with a failure. The new device ND cannot distinguish this case that is expected to be successful from a case where a different device, e.g. an external device ED (cf. FIG. 8), which belongs to a neighbour or an attacker, is performing a PBC session.